home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xa / NotationModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  4.1 KB  |  125 lines

  1. package com.extensibility.xa;
  2.  
  3. import com.extensibility.app.BaseEdit;
  4. import com.extensibility.util.Debug;
  5. import com.extensibility.xa.undo.NotationNameUndoable;
  6. import com.extensibility.xa.undo.NotationNewRowUndoable;
  7. import com.extensibility.xa.undo.NotationPublicUndoable;
  8. import com.extensibility.xa.undo.NotationURIUndoable;
  9. import com.extensibility.xml.BaseDeclaration;
  10. import com.extensibility.xml.NotationDeclaration;
  11. import com.extensibility.xml.ParserException;
  12. import com.extensibility.xml.URI;
  13.  
  14. public final class NotationModel extends DeclTableModel {
  15.    static final int COL_CNT = 5;
  16.    public static final int COL_NAME = 2;
  17.    public static final int COL_URI = 3;
  18.    public static final int COL_PUBLIC = 4;
  19.  
  20.    public NotationModel(SchemaDoc var1) {
  21.       super(var1, Class.forName("com.extensibility.xml.NotationDeclaration"));
  22.    }
  23.  
  24.    public int getColumnCount() {
  25.       return 5;
  26.    }
  27.  
  28.    public String getColumnName(int var1) {
  29.       return String.valueOf("notation.column").concat(String.valueOf(var1));
  30.    }
  31.  
  32.    public Class getColumnClass(int var1) {
  33.       switch (var1) {
  34.          case 2:
  35.             return Class.forName("java.lang.String");
  36.          case 3:
  37.             return Class.forName("java.lang.String");
  38.          case 4:
  39.             return Class.forName("java.lang.String");
  40.          default:
  41.             return super.getColumnClass(var1);
  42.       }
  43.    }
  44.  
  45.    public Object getValueAt(int var1, int var2) {
  46.       NotationDeclaration var3 = this.getNotation(var1);
  47.       switch (var2) {
  48.          case 2:
  49.             return ((DeclTableModel)this).isNewRow(var1) ? "" : ((BaseDeclaration)var3).getName();
  50.          case 3:
  51.             return ((DeclTableModel)this).isNewRow(var1) ? "" : (var3.getSystemID() == null ? "" : var3.getSystemID().toSource());
  52.          case 4:
  53.             return ((DeclTableModel)this).isNewRow(var1) ? "" : var3.getPublicID();
  54.          default:
  55.             return super.getValueAt(var1, var2);
  56.       }
  57.    }
  58.  
  59.    public NotationDeclaration getNotation(int var1) {
  60.       return (NotationDeclaration)((DeclTableModel)this).getDeclaration(var1);
  61.    }
  62.  
  63.    ParserException validateCell(String var1, int var2, int var3) {
  64.       if (var1.equals(this.getValueAt(var2, var3))) {
  65.          return null;
  66.       } else {
  67.          switch (var3) {
  68.             case 2:
  69.                return ((DeclTableModel)this).validateName(var1, Class.forName("com.extensibility.xml.NotationDeclaration"), this.getNotation(var2), true);
  70.             default:
  71.                return null;
  72.          }
  73.       }
  74.    }
  75.  
  76.    public void setValueAt(Object var1, int var2, int var3) {
  77.       if (!var1.equals(this.getValueAt(var2, var3))) {
  78.          NotationDeclaration var4 = this.getNotation(var2);
  79.          if (((DeclTableModel)this).isNewRow(var2)) {
  80.             String var5 = var3 == 2 ? (String)var1 : ((DeclTableModel)this).getUniqueDeclName((String)null);
  81.             NotationNewRowUndoable var6 = new NotationNewRowUndoable(this, var2, var5);
  82.             ((DeclTableModel)this).getSchemaDoc().getUndoManager().addEdit(var6);
  83.             ((BaseEdit)var6).doCommand();
  84.             super.doc.touch(super.doc.getFocusedURI(true));
  85.             if (var3 == 2) {
  86.                return;
  87.             }
  88.          } else {
  89.             super.doc.touch(var4);
  90.          }
  91.  
  92.          switch (var3) {
  93.             case 2:
  94.                NotationNameUndoable var8 = new NotationNameUndoable(this, var4, var1);
  95.                ((DeclTableModel)this).getSchemaDoc().getUndoManager().addEdit(var8);
  96.                ((BaseEdit)var8).doCommand();
  97.                break;
  98.             case 3:
  99.                NotationURIUndoable var9 = new NotationURIUndoable(this, var4, var1);
  100.                if (((String)var1).length() != 0 || this.getValueAt(var2, var3) != null) {
  101.                   ((DeclTableModel)this).getSchemaDoc().getUndoManager().addEdit(var9);
  102.                }
  103.  
  104.                ((BaseEdit)var9).doCommand();
  105.                break;
  106.             case 4:
  107.                NotationPublicUndoable var7 = new NotationPublicUndoable(this, var4, var1);
  108.                if (((String)var1).length() != 0 || this.getValueAt(var2, var3) != null) {
  109.                   ((DeclTableModel)this).getSchemaDoc().getUndoManager().addEdit(var7);
  110.                }
  111.  
  112.                ((BaseEdit)var7).doCommand();
  113.                break;
  114.             default:
  115.                Debug.assert(false, String.valueOf("Unexpected column number:").concat(String.valueOf(var3)));
  116.          }
  117.  
  118.       }
  119.    }
  120.  
  121.    public BaseDeclaration createDeclaration(String var1) {
  122.       return new NotationDeclaration(var1, (String)null, (URI)null);
  123.    }
  124. }
  125.